网络CDN中常用的静态算法有哪些
网络CDN中常用的静态算法有以下这些:
轮询:依次将请求分发到不同的服务器上,使各台服务器平均分担用户的连接请求。该算法适用于集群中各服务器性能相当而无明显优劣差异的场景。
加权轮询:依次将请求分发到不同的服务器上,其中权值大的分配较多请求,权值小的分配较少请求。该算法利用权值标识服务器间的性能差异,适用于各服务器间性能不一的场景。
随机:随机将请求分发到不同的服务器上。从统计学角度看,调度的结果为各台服务器平均分担用户的连接请求。该算法适用于集群中各服务器性能相当而无明显优劣差异的场景。
加权随机:随机将请求分发到不同的服务器上。从统计学角度看,调度的结果为各台服务器按照权值比重分担用户的连接请求。该算法适用于集群中各服务器性能存在差异的场景。
基于源IP地址的哈希:通过一个哈希函数将来自同一个源IP地址的请求映射到一台服务器上。该算法适用于需要保证来自同一用户的请求被分发到同一台服务器的场景。
基于源IP端口的哈希:通过一个哈希函数将来自同一个源IP地址和端口的请求映射到一台服务器上。该算法适用于需要保证来自同一用户或同一业务的请求被分发到同一台服务器的场景。
基于目的IP地址的哈希:通过一个哈希函数将发往同一个目的IP地址的请求映射到一台服务器上。该算法适用于需要保证到达同一目的地的请求被分发到同一台服务器的场景。
基于最小连接:根据当前各台服务器的连接数估算服务器的负载情况,把新的连接分配给连接数最小的服务器。该算法能够将连接保持时长差异较大的用户请求合理地分发到各台服务器上,适用于集群中各服务器性能相当、无明显优劣差异,而且不同用户发起的连接保持时长差异较大的场景。
基于最短响应时间:调度新连接时尽可能选择对用户请求响应时间短的服务器。该算法适用于用户请求对服务器响应时间要求较高的场景。